// ORM   --> orm目录
// Knex 
// Knex是一个基于JavaScript的查询生成器，它允许你使用JavaScript代码来生成和执行SQL查询语句
// 使用Knex定义表结构、执行查询、插入、更新和删除数据等操作, 及事务操作
// 安装 knex

// prisma  orm-prisma目录
// Prisma 是一个现代化的数据库工具套件，用于简化和改进应用程序与数据库之间的交互。
// 它提供了一个类型安全的查询构建器和一个强大的 ORM（对象关系映射）层，使开发人员能够以声明性的方式操作数据库
// 全局安装 npm install -g prisma
// prisma  下一代 nodejs+typescript 强大的ORM框架
// 配合typescript使用最好   启动 ts文件要装 ts-node
/*
全局安装
    npm install -g prisma

    使用 prisma init --datasource-provider mysql 初始化项目目录，使用mysql数据库
    修改 .env 文件 [DATABASE_URL="mysql://账号:密码@主机:端口/库名"] 连接自己的数据库
    在 schema.prisma 里通过代码创建表 (装一个prisma的插件)
        例子：
        model Post {   // 文章表
            id       Int     @id @default(autoincrement()) //id 整数 自增
            title    String  //title字符串类型
            publish  Boolean @default(false) //发布 布尔值默认false
            author   User   @relation(fields: [authorId], references: [id]) //作者 关联用户表 关联关系 authorId 关联user表的id， 创建关联关系
            authorId Int     // 关联字段，外键
        }
        model User {   // 用户表
            id    Int    @id @default(autoincrement())  // 设置id自增主键
            name  String
            email String @unique     // 邮箱唯一
            posts Post[]            // 关联关系 一个用户发表多个文章， 一对多
        }
    执行 命令 prisma migrate dev 并生成很多sql语句,创建生成这两张表，并且安装prisma的依赖
    // 整个相当于逆向工程
*/